home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / asm / e820.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  1KB  |  41 lines

  1. /*
  2.  * structures and definitions for the int 15, ax=e820 memory map
  3.  * scheme.
  4.  *
  5.  * In a nutshell, arch/i386/boot/setup.S populates a scratch table
  6.  * in the empty_zero_block that contains a list of usable address/size
  7.  * duples.   In arch/i386/kernel/setup.c, this information is
  8.  * transferred into the e820map, and in arch/i386/mm/init.c, that
  9.  * new information is used to mark pages reserved or not.
  10.  *
  11.  */
  12. #ifndef __E820_HEADER
  13. #define __E820_HEADER
  14.  
  15. #define E820MAP    0x2d0        /* our map */
  16. #define E820MAX    32        /* number of entries in E820MAP */
  17. #define E820NR    0x1e8        /* # entries in E820MAP */
  18.  
  19. #define E820_RAM    1
  20. #define E820_RESERVED    2
  21. #define E820_ACPI    3 /* usable as RAM once ACPI tables have been read */
  22. #define E820_NVS    4
  23.  
  24. #define HIGH_MEMORY    (1024*1024)
  25.  
  26. #ifndef __ASSEMBLY__
  27.  
  28. struct e820map {
  29.     int nr_map;
  30.     struct e820entry {
  31.     unsigned long long addr;    /* start of memory segment */
  32.     unsigned long long size;    /* size of memory segment */
  33.     unsigned long type;        /* type of memory segment */
  34.     } map[E820MAX];
  35. };
  36.  
  37. extern struct e820map e820;
  38. #endif/*!__ASSEMBLY__*/
  39.  
  40. #endif/*__E820_HEADER*/
  41.